package com.csair.irp.job.file.parser.autogateway;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 清洗后的网关数据
 * 
 * @author huangjun
 * @since 2017-07-04
 */
@TableName("t_gateway_data")
@Data
@ToString
@EqualsAndHashCode(callSuper = false)
public class GatewayDataPO extends Model<GatewayDataPO> {

	private static final long serialVersionUID = 1L;

	@TableId("id")
	private Long id;

	@TableField("payment_number")
	private String paymentNumber; // 支付流水号

	@TableField("payment_number_original")
	private String paymentNumberOriginal; // 原始支付流水号

	@TableField("payment_status")
	private Integer paymentStatus;// 支付状态：1成功，2：失败，-1全部

	@TableField("transaction_type")
	private Integer transactionType; // 业务类型 1-销售 2-退款

	@TableField(exist = false)
	private String transactionName;

	@TableField("payment_time")
	private Date paymentTime; // 支付时间

	@TableField("fee")
	private BigDecimal fee; // 手续费

	@TableField("currency")
	private String currency; // 币种

	@TableField("amount")
	private BigDecimal amount; // 交易金额，现金部分+非现金部分

	@TableField("amount1")
	private BigDecimal amount1; // 交易金额，现金部分
	
	@TableField("amount2")
	private BigDecimal amount2=BigDecimal.ZERO; // 交易金额，非现金部分--默认为0

	@TableField("payment_gateway")
	private String paymentGateway;// 支付网关

	@TableField("resource_id")
	private String resourceId; // 源文件ID

	@TableField("creation_time")
	private Date creationTime; // 创建时间

	@TableField("checked_payment_data")
	private Integer checkedPaymentData; // 勾稽-销售数据 0-未勾稽 1-已勾稽

	@TableField("payment_date")
	private Date paymentDate; // 支付日期

	/*
	 * @TableField("del") private boolean del = false; // 是否删除，默认为false
	 */

	@TableField(exist = false)
	private String transactionTypeName; // 业务类型名称 ，对应transactionType

	@TableField(exist = false)
	private String paymentStatusName; // 支付状态名称 对应paymentStatus

	@TableField(exist = false)
	private Long csId; // 退款差异主表ID

	@TableField(exist = false)
	private String checkedPaymentDataName;
	// 2018 517版本新加字段 begin

	@TableField("create_type")
	private String createType; // 创建类型 自动,手动

	@TableField("account_status ")
	private Integer accountStatus; // 对账状态 1:平账,2:差异,0:未勾稽

	@TableField("account_time")
	private Date accountTime; // 对账时间

	@TableField("account_type")
	private String accountType; // 对账方式 自动,手动

	@TableField("opertor")
	private String opertor; // 操作人

	@TableField("balance_id")
	private Integer balanceId; // 勾稽ID

	@TableField("dif_id")
	private Integer difId; // 差异表ID

	@TableField("carry_status")
	private Integer carryStatus; // 结转状态 0:未结转 1:已结转

	@TableField("card_type")
	private String cardType;//卡种

	@TableField("apply_id")
	private String applyId;

	@TableField("reference_id")
	private String referenceId; // CYBS中行duiz使用  交易参考号


	@TableField("merchant_code")
	private String merchantCode; // 网关商户号

	@TableField("file_id")
	private String fileId; // 文件ID




	// 2018 517版本新加字段 end


    @Override
    protected Serializable pkVal() {
        return id;
    }
}
